<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>拖拽1遍</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .nav {
            height: 30px;
            background: #036663;
            border-bottom: 1px solid #369;
            line-height: 30px;
            padding-left: 30px;
        }

        .nav a {
            color: #fff;
            text-align: center;
            font-size: 14px;
            text-decoration: none;

        }

        .d-box {
            width: 400px;
            height: 300px;
            border: 5px solid #eee;
            box-shadow: 2px 2px 2px 2px #666;
            position: absolute;
            top: 40%;
            left: 40%;
            background-color: white;

            /* 不让文字被选中 */
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .hd {
            width: 100%;
            height: 25px;
            background-color: #7c9299;
            border-bottom: 1px solid #369;
            line-height: 25px;
            color: white;
            cursor: move;
        }

        #box_close {
            float: right;
            cursor: pointer;
        }
    </style>
</head>
<body>
<div class="nav">
    <a href="javascript:;" id="register">注册信息</a>
</div>
<div class="d-box" id="d_box">
    <div class="hd" id="drop">注册信息 (可以拖拽)
        <span id="box_close">【关闭】</span>
    </div>
    <div class="bd"></div>
</div>
<script>
    var box = document.getElementById("d_box");
    var drop = document.getElementById("drop");
    var box_close = document.getElementById("box_close")
    drop.onmousedown = function (e) {
        e = e || window.event;
        var x = e.pageX - box.offsetLeft;
        var y = e.pageY - box.offsetTop;
        document.onmousemove = function (e) {
            e = e || window.event;
            var boxX = e.pageX - x;
            var boxY = e.pageY - y;
            box.style.left = boxX + "px";
            box.style.top = boxY + "px";
            if (box.offsetLeft <= 0) {
                box.style.left = "0px";
            }
            if (box.offsetLeft >= window.screen.availWidth - box.offsetWidth) {
                box.style.left = window.screen.availWidth - box.offsetWidth + "px"
            }
            if (box.style.top <= 0) {
                box.style.top = "0px";
            }
            if (box.offsetTop >= window.screen.height - box.offsetHeight) {
                box.style.top = window.screen.height - box.offsetHeight + "px"
            }
        }
    }
    document.onmouseup = function () {
        document.onmousemove = null;
    }
    box_close.onclick = function () {
        box.style.display = "none";
    }
</script>
</body>
</html>